"""
# 1. 导入unittest包和HTMLTestReport工具
import unittest
from htmltestreport import HTMLTestReport
# 2. 生成测试套件
# 3. 实例化HTMLTestReport对象
# 4. 执行测试套件


report = HTMLTestReport(file_path, [title], [description])
参数说明：
    file_path： 测试报告文件路径
    title： [可选参数]， 为报告标题， 如XXX测试报告
    description： [可选参数]， 为报告描述信息
# 执行测试套件
report.run(suite)
"""
# 1. 导入unittest包和HTMLTestReport工具
import unittest
from htmltestreport import HTMLTestReport


# 实现加法操作
def add(x, y):
    return x + y


# 2. 自定义测试类
# 注意: 必须继承自 unittest.TestCase
class TestAdd(unittest.TestCase):
    """测试类"""

    # 3. 自定义测试方法
    # 注意: 必须以 test 开头(字母必须全小写, 别拼错单词, 例如: text)
    def test_add_01(self):
        result = add(1, 1)
        # print("result1=", result)
        self.assertEqual(2, result)

    def test_add_02(self):
        result = add(1, 0)
        # print("result2=", result)
        self.assertEqual(3, result)

if __name__ == '__main__':
    # - 如果测试用例，和生成测试报告在同一个文件
    # - 需要通过命令运行代码，才能生成测试报告
    # 2. 生成测试套件
    suite = unittest.defaultTestLoader.discover('./', 'hm08*')

    # 3. 实例化HTMLTestRunner对象
    report = HTMLTestReport('./report.html', title="测试报告", description="V1.0")

    # 4. 执行测试套件
    report.run(suite)